export interface SearchRequest{
  language: string | null;
  userId: string | null;
  title: string | null;
}

export interface JudgeInfo{
  memory: number;
  time: number;
  message: string;
}

export enum JudgeStatus {
  ACCEPTED = "Accepted",
  WRONG_ANSWER = "Wrong Answer",
  COMPILE_ERROR = "Compile Error",
  MEMORY_LIMIT_EXCEEDED = "Out of Memory",
  TIME_LIMIT_EXCEEDED = "Time Limit Exceeded",
  PRESENTATION_ERROR = "Presentation Error",
  WAITING = "Waiting",
  OUTPUT_LIMIT_EXCEEDED = "Output Limit Exceeded",
  DANGEROUS_OPERATION = "Dangerous Operation",
  RUNTIME_ERROR = "Runtime Error",
  SYSTEM_ERROR = "System Error"
}

export interface SubmissionVO{
  title: string;
  userId: string;
  code: string;
  language: string;
  status: string;
  judgeInfo: JudgeInfo;
  createTime: string;
}
